package com.usf.jprovider.schema.selector;

import javax.xml.bind.annotation.XmlSeeAlso;

import com.usf.jprovider.object.JObjectNode;
import com.usf.jprovider.object.env.Environment;
import com.usf.jprovider.schema.AbstractObject;
import com.usf.jprovider.schema.selector.entry.AbstractEntrySelector;
import com.usf.jprovider.schema.selector.value.AbstractValueSelector;

@XmlSeeAlso({AbstractEntrySelector.class,
			 AbstractValueSelector.class})

public abstract class AbstractSelector extends AbstractObject{
	
	protected AbstractSelector(){
		super();
	}
	
	protected abstract int index(Environment env, JObjectNode node, int size);
	protected abstract int startIndex(Environment env, JObjectNode node, int size);
	protected abstract int endIndex(Environment env, JObjectNode node, int size);
		
}
